<?php

namespace App\Models\Test;

use App\Scope\CheckScope;
use App\Scope\TestScope;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\SoftDeletes;

class Flight extends Model{
    use SoftDeletes;

    /*
     * 关联到模型的表名
     */
    protected $table='flights';

    /*
     * 模型的"启动"方法
     * 调用全局作用域
     */
//    protected static function boot(){
//        parent::boot();
//        static::addGlobalScope(new TestScope());
//        static::addGlobalscope(new CheckScope());
//    }

    /*
     * 本地作用域
     * 只的查询id>2的作用域
     */
//    public function scopeHigher($query){
//        return $query->where('id','>',2);
//    }
    /*
     * 本地作用域
     * 只包含名字！=航班2的作用域
     */
//    public function scopeName($query){
//        return $query->where('name','!=','航班3');
//    }
     /*
      * 动态作用域
      */
    public function scopebyId($query,$id){
        return $query->where('id','>',$id);
    }


    /*
     * 一对一关联
     */
    public function info()
    {
        return $this->hasOne(Info::class);
    }


    /*
    *可以创建一个配置之外的自定义配置
    */
    //protected $connection='';

    /*
     * 表名模型是否应该被打上时间戳
     */
    //protected $timestamps=false;

    /*
     * 可以被批量赋值的属性 create
     */
    protected $fillable=['name','airline'];
    /*
     * 不能被批量赋值的属性
     */
    //protected $guarded=['id'];

    /**
     * 软删除相关
     * @var array
     */
    protected $dates=['deleted_at'];

}
